//#pragma comment(linker,"/STACK:16777216") /*16Mb*/
//#pragma comment(linker,"/STACK:33554432") /*32Mb*/
#define _CRT_SECURE_NO_DEPRECATE
#include<iostream>
#include<numeric>
#include<sstream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<memory>
#include<string>
#include<vector>
#include<cctype>
#include<list>
#include<queue>
#include<deque>
#include<stack>
#include<map>
#include<set>
#include<algorithm>
using namespace std;

typedef unsigned long long      ui64;
typedef long long               i64;
typedef	vector<int>             VI;
typedef	vector<bool>            VB;
typedef	vector<VI>              VVI;
typedef	vector<string>          VS;
typedef	pair<int,int>           PII;
typedef map<string,int>         MSI;
typedef set<int>                SI;
typedef set<string>             SS;
typedef map<int,int>            MII;
typedef	pair<double,double>     PDD;

#define PB                      push_back
#define MP                      make_pair
#define X                       first
#define Y                       second
#define FOR(i, a, b)            for(int i = (a); i < (b); ++i)
#define RFOR(i, a, b)           for(int i = (a) - 1; i >= (b); --i)
#define CLEAR(a, b)             memset(a, b, sizeof(a))
#define SZ(a)                   int((a).size())
#define ALL(a)                  (a).begin(), (a).end()
#define RALL(a)                 (a).rbegin(), (a).rend()
#define INF                     (2000000000)

int Max(int s, int m, int n) {
	int res = 0;
	if( s<n ) {
		res += s*3;
		res += n-s-1;
		if( m==0 )
			res++;
		return res;
	}

	if( s>=n ) {
		if( s >= n+m )
			return n*3;
		res += (n-1)*3;
		if( s+1==n+m )
			res++;
		return res;
	}
}

int Min(int s, int m, int n) {

	if( n<3 ) {
		if( n==1 )
			return (s>=m? (s==m?1:3) : 0 );
		else
		{
			if( s==m ) return 2;
			if( s>m ) return 3;
			return 0;
		}
	}

	int res = 0;
	if( m<n ) {
		if( m==s ) 
			return n;
		//return Min(s,0,n-m);
		res += n-m-1;
		if( s )
			res += 3;
		else
			res ++;
		return res;
	}

	if( m>=n ) {
		if( m>s+n )
			return 0;
		if( s==m-n+1 )
			return 1;
		else
			return 3;
		return res;
	}
}

int main()
{
	int n,s,m;

	while( cin >> s >> m >> n ) {
		cout << Max( s, m, n) << " " << Min( s, m, n) << endl;
	}

    return 0;
}